// pages/task_user_list/task_user_list.js
const request = require('../../utils/promise.js');
Page({
  /**
   * 页面的初始数据
   */
  data: {
    taskId: 0,
    taskName: null,
    taskType: 0,
    isTaskComplete: true, // 任务是否已经完成或者关闭
    isManager: false, // 是否任务负责人
    taskUserList: [],
    userId: null,
    completeStatus: 0, // 单选筛选条件，任务完成状态
    userStatusArr: [ // 两种成员状态，混合在一起（任务职责、任务完成情况）
      {
        value: 1,
        label: '负责人'
      },
      {
        value: 2,
        label: '成员'
      },
      {
        value: 3,
        label: '已完成'
      },
    ]
  },
  userStatusIndex:0,

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      taskId: options.taskId,
      taskName: options.taskName,
      taskType: options.taskType,
      isTaskComplete: (options.isTaskComplete=='true')?true:false,
      isManager: (options.isManager=='true')?true:false,
      userId: wx.getStorageSync('userId'),
    });
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.initDataList();
  },

  /**
   * 页面被用户分享时执行
   */
  onShareAppMessage() {
    return {
      title: '任务成员'
    }
  },

  /**
   * 分享到朋友圈
   */
  onShareTimeline() {
    return {
      title: '任务成员'
    }
  },

  initDataList() {
    const param = {taskId: this.data.taskId, completeStatus: this.data.completeStatus};
    request.GET("/task/findTaskUserById", param).then(res => {
      // userId,completeStatus,taskResp,username
      // console.log(res)
      this.setData({
        taskUserList: res.data
      });
    });
  },

  /**
   * 单选查询
   */
  radioUserTaskStatusChange(e){
    let completeStatus = e.detail.value;
    this.setData({
      completeStatus: completeStatus
    });
    this.initDataList();
  },

  gotoTaskUserAdd(){
    wx.navigateTo({
      url: '/pages/task_user_add/task_user_add?taskId='+this.data.taskId
    })
  },

  /**
   * 改变成员状态
   */
  changeUserStatus(e) {
    let userId = e.currentTarget.dataset.id;
    let oldValue = e.currentTarget.dataset.resp;
    let newIndex = e.detail.value;
    let changeValue = this.data.userStatusArr[newIndex].value;

    // 成员职责，修改前后相同的情况
    if (oldValue == changeValue) {
      wx.showToast({
        title: '成员职责相同，无需修改',
        icon: 'none',
        duration: 2000
      })
      return;
    }

    // 修改任务成员状态
    let that = this;
    let params = {
      taskId:this.data.taskId,
      userId:userId,
      updatedBy:this.data.userId,
      userMixedStatus:changeValue,
      taskResp:changeValue
    }
    request.POST('/task/updateUserMixedStatus', params).then(res => {
      if (res.statusCode==200) {
        wx.showToast({
          title: '修改成功',
          icon: 'success',
          duration: 1000
        })
        that.initDataList();
      } else {
        wx.showToast({
          title: '操作失败',
          icon: 'error',
          duration: 1500
        })
      }
    })
  },

})